!pr1
Review of Applied Engineering Transwarp.....Bob Sander-Cederlof

We reviewed the M-c-T SpeedDemon accelerator card in AAL of July 1985.  At the time the price was $295 from the manufacturer or $199 through Call APPLE.  We recently received a promotion sent to software publishers offering wholesale prices if we would advertise the SpeedDemon in conjunction with our software.  The suggested price is now $249.  (We notice that at least one game publisher took them up on the offer.)

Now Applied Engineering has released their new accelerator card, the Transwarp. Their price is $279 with a 65C02 installed, and an optional upgrade to a fast 65802 for an additional $89.  The higher price is probably well justified by the features.

Transwarp includes 256K of high-speed RAM on the card.  This compares to 64K on the Titan Accelerator, and a 4K cache on the SpeedDemon.  Transwarp will run with the SWYFT card installed, while the others apparently will not.

Transwarp's 256K RAM is effectively divided into four 64K banks.  When you power-up your Apple with Transwarp installed, all of the ROM from $D000 through $FFFF is copied into one of the high-speed RAM banks.  The rest of this bank is not used.  A second bank is used in place of the motherboard RAM.  The third and fourth banks are used in place of the first and second banks of AUXMEM, if you have a RAM card such as RAMWORKS installed in the AUX slot.  If you have a large RAMWORKS in the auxiliary slot of a //e, any additional banks beyond two will still be usable but at "only" 1 MHz.

When you write data to one of the screen areas (any address $400-$BFF or $2000-$5FFF), the data is "written through" to the motherboard RAM.  (The video hardware in the Apple requires that the screen data be in motherboard RAM.)  When you read from any of these addresses, the data will be read from the fast Transwarp RAM.

Transwarp keeps track of the state of all the AUXMEM soft switches, as well as the RAMWORKS bank register.  All reads from any memory that is supported in the Transwarp RAM will be done at full speed.  Reads from and writes to any address in the range $C000-$CFFF will slow down to 1 MHz for one cycle.

There are 16 dip switches on the card, allowing you to configure for most environments.  Seven switches indicate which slots must execute code at 1 MHz.  Slots designated by switches will slow down the processor for about 1/2 second after any access to either the slot ROM or the slot registers.  An Apple disk Controller must run at the slow speed, while most other slots can run faster.  Some I/O cards, especially serial cards, must run at slow speed due to internal software-controlled timing.  The Transwarp's switches are much more flexible than the SpeedDemon's system of always slowing down for slot 6 and using jumpers to allow a slowdown for slots 4 and 5.

Another seven switches let you indicate which slots (1-7) have RAM cards installed.  The two remaining switches let you select the initial speed of the Transwarp card.  You can select a default speed of 3.58 MHz, 1.7 MHz, or 1 MHz.  This is the speed the card runs at when you power up.  You might like the 1.7 MHz speed for making your game software just a LITTLE faster.

Once the Transwarp has taken over, you can switch back and forth between the default speed and 1 MHz by storing either 0 (default speed) or 1 (1 MHz) into $C074.  In BASIC this would be POKE to -16268 or 49268 of either 0 or 1.

If you POKE a value of 3 to $C074, Transwarp will be shut down completely; the motherboard processor will take over when you hit CTRL-RESET.  In order to turn Transwarp back on, you have to turn the computer off and back on again with the power switch.  You also have the option of disabling Transwarp during the power-on cycle, by typing the ESCAPE key within a couple of seconds after turning on the computer.

Transwarp has a 4K EPROM on-board with startup and self-test firmware.  Naturally, I disassembled the code to see how it all works.  The self-test is initiated by typing a "0" or "9" during the first two seconds.  The test checks for the type of processor installed (65C02 or 65802), measures the speed, tests bank switching, and tests RAM.  If you are in a //e, you can hold down the Open-Apple key to keep it looping through the speed test.

Transwarp measures its own speed by counting how many cycles it takes for the Vertical Blanking Signal to pass by.  This signal is not available on the II or II Plus, so no speed information is tested on the older machines.

We tested Transwarp doing various jobs such as assembling, word processing, and spreadsheet-ing.  Everything worked, no glitches, and a lot faster.  The speedup factor depends on the amount of disk I/O, screen I/O, and so on.  Nothing runs with a full 3.5 or 3.6 speed increase, not even a short timing loop.  The very highest factor I could coax out of my board was about 3.3, on a timing loop running at $C00.  This loop included a large number of STA instructions, on purpose.  When I moved the program to $800, so that the STA instructions were storing into the range slowed down to 1MHz (between $400 and $BFF), the loop only ran 2.0 times faster under Transwarp than under a normal 1 MHz processor.

Why do the advertisements for accelerators claim a 3.6 or larger speedup factor?  I think they are rounding up the clock speed of 3.579... to 3.6, and likewise rounding down the Apple's clock speed from 1.023 to 1.  That is not the way the IRS likes you to do math....  The actual ratio of the two clock speeds is exactly 3.5, but the mist does not entirely clear yet.

Remember that the Apple stretches one cycle out of every 65 by an amount equal to one cycle of the 7MHz signal.  See chapter 3 of Jim Sather's "Understanding the Apple //e" for details.  This means the normal Apple runs a hair slower than the clock rate.  But also remember that dynamic RAM needs refreshing from time to time.  The refresh of the 256K RAM on the Transwarp card occurs once out of every 16 Apple phase 0 (1MHz) clock cycles.  During each 16th 1MHz cycle, the Transwarp slows down to 1MHz.  This means that in the time a normal Apple would execute 16 clock cycles, the full-speed Transwarp will execute 53 clock cycles.  If not for the long refresh cycle, Transwarp would execute 56 cycles during 16 phase 0 cycles.  Now 53 divided by 16 is 3.3125, showing that the maximum speedup factor for Transwarp is 3.3125.  I don't know for certain, but the Titan Accelerator II probably has the same characteristic.  If so, they both run at a full 3.5 times faster for 15 micro- seconds, slow down for one microsecond, and then take off again.

The SpeedDemon, on the other hand, can run at a full 3.5 times faster for somewhat longer bursts.  If every byte needed is in the SpeedDemon cache memory (static RAM, needing no refresh), execution should proceed at 3.5 times normal Apple speed.  Normal programs, however, which are long enough to make us worry about speed, will never be entirely inside the cache.  In all comparison tests of real software, Transwarp is faster than either SpeedDemon or Titan.  SpeedDemon loses due to its cache, and Titan loses because it does not speed up any accesses to AUXMEM.

The S-C Word Processor increased its speed by about 3.2 for compute-bound operations like searching.  Interestingly, an operation that is limited by screen output, like inserting characters from the yank buffer, showed almost no increase in speed.  In THE Spreadsheet (MagiCalc) the acceleration factor was about 3.1-3.3, running in a II+ with a Viewmaster 80-column card.  Our mailing label system, written mostly in Applesoft, showed a pretty consistent 3.3 speedup.  Programs which involve disk I/O will not speed up as much, because the disk still spins at the same 300 rpm.

All in all, we think the Transwarp is a good investment:  you get a quality product at a reasonable price which significantly enhances the performance of your computer.
